For purposes of the following description, a communications network can be defined as a collection of nodes which are interconnected through communications links. Nodes can be characterized as either end nodes or network nodes. A network node is a data processing system that provides certain functions within the network, such as routing of messages between itself and its adjacent or neighboring nodes, selection of routes for messages to be transmitted between a network node and a directly-connected end node and the furnishing of directory services to end nodes. End nodes are also data processing systems that typically provide fewer functions than network nodes while providing an interface between users and the remainder of the network. The links between nodes may be permanent links, such as owned or leased cables, or temporary links that are enabled only when needed. An example of a temporary link is a dial-up telephone connection made through a public or a private telephone network.
When a session has been established, users may exchange data through the network. A session exists on a path through the network. Different users connected to a pair of nodes may use a session at different times. When two particular users are using the session at a given time, those users are said to be engaged in a conversation.
Network users, while most commonly thought of as human operators sitting at a terminal, are, from a network perspective, actually programs which cause data to be sent to and/or received from other programs attached to the network. The interface between a user and the network is a component referred to as a logical unit or LU. The LU may be implemented in hardware, in software or in a combination of the two. If a particular user causes the activation and deactivation of a session, the logical unit which serves as the interface between that user and the network is identified as the primary logical unit. The logical unit associated with the other user is identified as the secondary logical unit.
Sessions themselves may be viewed from the perspective of the logical units. If a logical unit controls the activation and deactivation of a session (the primary logical unit), then the session is characterized as a contention-winner session from the perspective of that logical unit. From the perspective of the other or secondary logical unit, the same session is characterized as a contention-loser session.
Two other terms are significant for purposes of this description. The first term is "control point". A control point activates network resources based on resource definition statements provided during configuration of the network. Control points activate, control and deactivate links through link stations provided in each node. The second term of significance is "control operator", which is a special type of program which normally performs the functions of controlling the number of active sessions between two partner LUs, assists LUs in the activation and deactivation of LU-LU sessions and the definition, modification, examination or deletion of operating parameters for logical units.
The terms described above are commonly used in descriptions of networks employing an architecture known as Systems Network Architecture. More comprehensive descriptions of the architecture and of the terms discussed above may be found in a variety of manuals available from the assignee of the present invention. Manuals providing a more comprehensive description of System Network Architecture include Systems Network Architecture Technical Overview (GC30-3073-2) copyright International Business Machines Corporation 1986 and Systems Network Architecture Concepts and Products (GC30-3072-3) copyright International Business Machines Corporation 1986. More comprehensive descriptions and definitions of the various terms discussed above may be found in Systems Network Architecture--Format and Protocol Reference Manual: Architecture Logic for Type 2.1 nodes (SC30-3422-0) copyright International Business Machines Corporation 1986 and Systems Network Architecture-Transaction Programmer's Reference Manual for LU Type 6.2 (GC30-3084-2) copyright International Business Machines Corporation 1985.
While the referenced manuals may provide additional information useful to a reader, those manuals are not required for an understanding of the present invention and are not being incorporated herein by reference.
The current process by which LU-LU sessions are established and terminated is well known. The process begins when an user sends an ALLOCATE verb to its own logical unit. Certain parameters are supplied with this ALLOCATE verb. The parameters include, among other things, the name of the remote LU at which a remote user is located, the network properties for the session to be allocated to a conversation between the two users and the name of the remote user. The primary LU responds to the ALLOCATE verb by sending an initiate request (INIT-SELF) to its control point. The parameters supplied with the ALLOCATE verb are passed along to the control point. The control point verifies that network resources are available to support a conversation between the local and remote users, computes the route through the network and returns the route information to the primary logical unit in a CONTROL INITIATE or CINIT response.
Assuming the network can support a conversation between the two users, the primary logical unit sends a BIND request through the network to the remote logical unit. The BIND request carries suggested parameters for the session. The remote logical unit may respond by accepting the suggested parameters or by suggesting alternative parameters. Assuming the original or the alternative parameters are acceptable to both LUs, the primary logical unit notifies the local user that a conversation has been allocated on a session by sending an ALLOCATE return code to the local user. The two users then exchange data through the network using available data protocols. One of the users issues a DEALLOCATE verb to end the conversation. That user's logical unit responds to the verb by including a Conditional End Bracket or CEB field in a header for the last data unit to be transmitted to the other user. The CEB field indicates the session is no longer required to support a conversation between the two users.
The session nevertheless remains active until the network control operator issues a DEACTIVATE SESSION request. Upon receipt of a DEACTIVATE SESSION request, the primary logical unit sends an UNBIND SESSION (UNBIND) request to the remote logical unit.